As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software to provide access to these resources.
In many instances, a customer will require more than one resource, such as a host machine, server, or other processing device, to perform portions of an operation. Since these operations typically require all the corresponding devices to communicate at substantially the same time, there can be resulting spikes in the network traffic that can lead to congestion events or otherwise slow down network communications. In certain cases, the network traffic can exceed the amount of buffer in one or more network switches, leading to dropped packets, device slowdown, and other such undesirable events. Many networks utilize large routers with significant buffer capacity to mitigate these events, but these routers are very expensive and come with significant upfront cost. When the network communication duty cycle for the operations is small, these very large buffers are only needed a small percentage of the time, and much of the expensive capacity is unutilized.